/**
 * 注意：该文件禁止修改
 * 若为项目配置需要，请在restful目录下进行相关配置
 */
import xhr from './api.js'
import axios from 'axios'
import store from '@/store'
import app from '../../assets/js/app/index.js'
// 接口
function getfirstPage(params) {
  return xhr.get('./restfulData/firstPage.json', { params })
}
function getSencondPage() {
  return xhr.get('./restfulData/secondPage.json')
}
//一次性调取 所有接口数据
function requestAll() {
  return axios.all([getfirstPage({ test: 'test' }), getSencondPage()])
}
// 数据临时存储
let cashData = []
// 数据提取当前页面数据
const handleData = (path) => {
  let dataSet = cashData.find((item) => item.path == path)
  store.commit('setDataSet', dataSet)
}
// 数据初始化
const init = (path = '/') => {
  if (cashData.length != 0) {
    handleData(path)
  } else {
    requestAll()
      .then((res) => {
        cashData = [...res]
        handleData(path)
        // 通知系统 数据源准备完毕
        app.$emit('dataReady')
      })
      .catch((err) => console.log(err))
  }
  app.log('restful init')
}
// 数据更新
// const update = _c => {
//   getfirstPage().then(data => {
//     if (typeof _c !== 'function') {
//       console.error(`${_c}必须为函数`)
//       return
//     }
//     _c(data)
//   })
// }
const destroy = () => {
  cashData = []
  app.log('restful destroy')
}
export { init, destroy }
